package com.woniu.cq.mallproduct.service;

import com.woniu.cq.mallproduct.domain.Product;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author daniel
 * @since 2020-09-19
 */
public interface IProductService extends IService<Product> {
    /**
     * @description:
     * @param: product
     * @return: void
     */
    void addProduct(Product product);
    /** 
     * @description: 上架 
     * @param:  
     * @return: void 
     */
    int upProduct(Integer productId);
    /** 
     * @description: 下架 
     * @param: productId 
     * @return: void 
     */
    void downProduct(Integer productId);

    /**
     * @description: 逻辑删除
     * @param:
     * @return: void
     */
    void deleteProduct(Integer productId);
    /** 
     * @description: 上架的商品 
     * @param:  
     * @return: java.util.List<com.woniu.cq.mallproduct.domain.Product> 
     */
    List<Product> getProduct();
    /**
     * @description: 得到一件商品详情
     * @param: product
     * @return: com.woniu.cq.mallproduct.domain.Product
     */
    Product getOneProduct(Integer productId);

    /** 
     * @description: 模糊查询 
     * @param:  
     * @return: java.util.List<com.woniu.cq.mallproduct.domain.Product> 
     */
    List<Product> getLikeProduct(String name,String info);
    /**
     * @description: 购物车购买
     * @param: userId
     * @return: void
     */
    int buy(Integer userId);

    /**
     * @description: 加入购物车
     * @param: productId
     * @param: productNumber
     * @param: userId
     * @return: void
     */
    void addCourt(Integer productId,Integer productNumber,Integer userId);
    /** 
     * @description: 查询所有商品 
     * @param:  
     * @return: java.util.List<com.woniu.cq.mallproduct.domain.Product> 
     */
    List<Product> getProducts();
}
